package com.ymx.darling.session.map;

import com.ymx.darling.bean.entity.FieldInfo;

import java.util.List;
import java.util.Map;

/**
 * Map集合转换器
 * @author 爱java的小于
 */
public interface MapConvertHandler {
    /**
     * 将List映射为Map并且
     * List中元素类型不为Map
     *
     * @param elemList 需要转换Map的List
     * @param fieldInfo 作为Key的Field实例
     * @param <K> K
     * @param <V> V
     * @return Map
     */
    <K,V> Map<K,V> convertToMapFromListByFieldName(List<V> elemList , FieldInfo fieldInfo);

    /**
     * 将List映射为Map 并且
     * List中元素的类型为Map
     * @param elemList 转换前的List
     * @param keyName 作为Map中Key的名称
     * @param <K> K
     * @param <V> V
     * @return Map
     */
    <K,V> Map<K,V> convertToMapFromList(List<V> elemList, String keyName);
}
